package br.edu.univas.jobmanager.test;

import java.util.Date;

import junit.framework.TestCase;
import br.edu.univas.jobmanager.dao.CategoriaDAO;
import br.edu.univas.jobmanager.dao.EstadoDAO;
import br.edu.univas.jobmanager.dao.TarefaDAO;
import br.edu.univas.jobmanager.entity.Categoria;
import br.edu.univas.jobmanager.entity.Estado;
import br.edu.univas.jobmanager.entity.Tarefa;
import br.edu.univas.jobmanager.exception.ObjectNotFoundException;

public class TarefaDaoTeste extends TestCase{
	
	private TarefaDAO tarefaDAO;
	private Tarefa tarefaTest;
	
	protected void setUp(){
		try {
			super.setUp();
		} catch (Exception e) {
			System.out.println("Falha no construtor");
		}
		tarefaDAO = new TarefaDAO();
		
	}
	
	public void testaInsercao() throws ObjectNotFoundException{
		long numeroTarefa = tarefaDAO.getQuantidadedeTarefas();
		tarefaDAO.insert(getTarefaTeste());
		long resultado = tarefaDAO.getQuantidadedeTarefas();
		
		assertEquals(numeroTarefa + 1, resultado);
	}

	private Tarefa getTarefaTeste() throws ObjectNotFoundException {
		
		CategoriaDAO categoriaDAO = new CategoriaDAO();
		EstadoDAO estadoDao = new EstadoDAO();
		
		Categoria categoria = categoriaDAO.findByPK(1);
		Estado estado = estadoDao.findByPK(1);
		
		tarefaTest = new Tarefa();
		tarefaTest.setCategoria(categoria);
		tarefaTest.setEstado(estado);
		tarefaTest.setHoraFim(new Date());
		tarefaTest.setHoraInicio(new Date());
		tarefaTest.setNome("Teste maven 3");
		
		return tarefaTest;
		
	}
	
	protected void tearDown(){
		tarefaDAO.delete(tarefaTest);
	}

}
